2016-07-11 - 26998 - Spec - Inb Delivery creation for CH Robinson #chr

SPECIFICATIONS

26998 - Spec - Inb Delivery Creation for CH Robinson


Purpose


Inbound Delivery creation for CH Robinson

Admin Info


Purpose
Inbound Delivery creation
for CH Robinson
Requested By
Jingsha
Spec Created By
Adithya
Spec Created Date
07/11/2016
Spec QA by
Damodhier
Objects
ZCHR_INB_DLV2
ZCHR_INB_DLV2
ZSNC_INBOUND_DELV
Document Status
Complete

Estimates


Sl.No
Activity
Estimation in Hours
1
Research

2
Documentation
08
3
Development/ Config
40
4
Unit test in DEV
24
5
Unit test in QUA

6
Other activity


TOTAL
72
References

Prior Tickets

[Provide links of prior associated Spec / Break Fix BOSS document(s)]

Documents

[Attach any document(s) received for the requirement(s)]

Spec Changes

[List the changes made to program after the approval of the original requirement along with the Date on which the change request was received and the name of the initiator]

Sl.
Change Details
Requested By
Requested On
Notes if any





Functional Requirement


Write a Program for creation of Inbound Deliveries. Multiple POs can to be entered at once. IBD shall be created for the entire PO.
The Conditions of Inbound Delivery getting created would be same as the Inbound Delivery creation for SNC.
No confirmations would be updated on the POs moving forward from the CHR PO management system.
The program should allow a background process to be kicked off.
Preferably, the packing program will get processed immediately following the IBD creation.

Purpose/WHY:

[Explain the purpose of the project and the reason why this requirement has come]
Moving forward the Vendors who are using SNC will use CHR.
Factory shall log on to SNC System and use the transaction to create the Inbound Delivery.

In Scope:

[List the activities to be included in scope]
Inbound Deliiveries shall be created for only POs which are entered.

Out of Scope:

[Out of scope activities]
Selection of POs by the program is not done for creation of Inbound Deliveries

Solution Summary


[Discuss this section with Requester and get approval prior to beginning work]
Create a Feeder Program "ZCHR_INB_DLV"which shall call the existing Inbound Delivery creation program and created the Inbound Deliveries for the Purchase Orders which are entered in the input.
A new check box would be added in the Inbound Delivery creation program Just to differentiate the SNC and CHR POs. So as when the checkbox is flagged it would not consider the confirmations and all other inputs and just creates inbound deliveries for Input POs.
Create a Table "ZMM_INB_VAL" to maintain the user ids allocated to the vendor.

The feeder program shall look in to the table and it shall give authorization to create the Inbound Deliveries.
It shall give authorization to create the inbound deliveries to only those Vendor POs for which he is assigned as a user to the vendor.
The Program checks the Message Type in the PO "ZCHR" and makes sure that the Inbound Delivery is created for only ZCHR Pos.

One Inbound Delivery shall be created per Purchase Order and Sales Order Combination - (As it is currently)
One Inbound Delivery shall be created per Purchase requisition
One Inbound Delivery shall be created for whole PO if there are no purchase requisitions (NB Only)

Security:
Update a table with the vendor numbers and the user ids so that if a user has executed the transaction he would be able to create the Inbound deliveries to only POs for the vendor who he is assigned to.

Discussion on 08/04/2016:
No Packing is to be done now with the program. Packing would be scheduled as a separate job in some interval.

Test Plan

[List test scenarios/cases to be executed here]
Test ID
Test Scenario
Expected Results
CHRINB1
Execute the program with the unauthorized PO
POP up: You are not authorized to create Inb Delivery for this PO
CHRINB2
Execute the program with multiple POs as input, out of which few of the POs are not realted to the vendor who the user is assigned to
Message: You are not authorized to create Inb Deliveries for the below POs:
CHRINB3
Execute the program with the PO for which Inb Delivery is already created
Inbound Deliveries are already created for the below POs
CHRINB4
Execute the program with multiple POs for the same vendor as input, out of which for few POs inbound deliveries are already created
Show the list of POs with the Message ''Inbound Deliveries are already created for the for these POs
CHRINB5
Execute the program with multiple Pos, out of which few POs are deleted
Create the Inbound Deliveries for those POs which are not deleted/ For lines which are not deleted.
CHRINB6
Execute the program when Inbound Delivery for SNC job is in process
SNC Job shall created Inbound Deliveries for SNC Pos and CHR shall generate Inbound Deliveries for CHR Pos given in input
CHRINB7
Execute the program with SNC PO
It shall not generate any Inbound deliveries

Execute the program while other user of the same vendor is processing he job.
Pop up: A job is already in process for the same vendor.
CHRINB8
Execute the transaction while other vendor user is processing it.
The job has to be executed and Inbound Deliveries has to be created for both the Vendor Inputs
CHRINB9
Give NB, NB TAB, Z3NB Pos at once and execute the program
Inbound Delivery shall be created for all the Pos
CHRINB10
Give TAS PO as input and execute the program
One Inbound Delivery shall be created for One SO PO Combination
CHRINB11
Give TAB PO as input and execute the program
One Inbound Delivery shall be generated for one Purchase requisition
CHRINB12
Give NB PO as input and execute the program
One Inbound Delivery shall be generated for one Purchase requisition
CHRINB13
If Two POs are created for one sales order and those Pos have other sales orders in it, and if These two POs are given in input for creation of Inb Delivery
Inb Delivery has to be created One per each PO SO combination.
CHRINB14
Execute the Pos with Confirmation Key ZNEC
A spool in the background job shall be displayed and No Inbound Deliveries shall be created for the Inbound Delivery

The Program creates Inbound Delivery for all lines of the PO at once. If Inbound Delivery is created and later deleted for any of the lines in the PO then the the program considers the PO as inbound Delivery created and it will not create the Inbound Delivery again.

Solution Details

[Provide complete technical details for configuration or programming here]
  1. Created a Table 'ZMM_INB_VAL' to Maintain Usernames along with the Vendor Numbers, which is used for validating the user.
  2. Created Table Maintenance Generator for the table 'ZMM_INB_VAL' to maintain the authorizations, and created ZLIFNR data element to display meaningful description while maintaining the data in table ''ZMM_INB_VAL' using the Transaction 'SM30'.
  3. Created a Table 'ZMM_INB_VEN_LOC' to insert a lock before proceeding to create inbound delivery with the vendors which are going to process, the lock will be removed after success / failure of creating inbound delivery.
  4. Created programs ZCHR_INB_DLV, ZCHR_INB_DLV2. Program ZCHR_INB_DLV perform the validations, if the input passes all the validations then it create a job 'ZCHR_INB_DEL_M' with the program-ZCHR_INB_DLV2. Job 'ZCHR_INB_DEL_M' creates another job 'ZCHR_INB_DEL' with the program 'ZSNC_INBOUND_DELV'. Job 'ZCHR_INB_DEL' will creates the inbound delivery if the input has all the required data to create inbound delivery.
  5. Created a Tcode 'ZCHR_INB' and assigned to the program 'ZCHR_INB_DLV'

Process:

Maintain the user IDs with respect to Vendor in T Code: "ZCHR_ID"
To create the Inbound Deliveries for CHR T Code : "ZCHR_INB"

Discussions



Discussion on 07/267/2016:

How does factory know that the PO is completed. - Not sure.
How Does factory get the packing instructions - They log on to Crystal to get packing instructions.
PO shall have the same delivery date in the PO.
If the PO has different delivery dates - Business process wise : Exception.
What if in physical the PO is not completed (left with one or two lines as delivery date for that two lines is far) and Inbound Delivery is created -Business process wise : Exception.
What if the users click the Background Process 2 times - If the Job is in process for the vendor then it shall not allow to process the Job.
What if the users give the same Purchase Order number in the Program when the earlier program is in process - Duplicate Inbound Delivery may be created.

Informed on 08/04/2016

If any one would delete the Inb Delivery in the PO, as there are no confirmations in the PO it would be difficult for us to trouble shoot when the Inb Delivery is created as we do not have the confirmation update date and then we can not check the IDOCs on that date.